The sensors and microprocessor were wired up and tested with battery power. This was a success.
One problem: the PM sensor is apparently extremely sensitive to light. If the sensor is not in a dark environment, the readings become junk. We will try to address this:
Check if the uncut-PM sensor has the same issues. If not, enlarge the housing to hold the uncut-PM sensor.
Update (5/25/15, 11:30 PM): The cut-PM sensor was swapped out with the uncut-PM sensor. The first five datapoints from the sensor did not make sense, but the following 100+ datapoints were all within reason. This suggests that there were some bad values in the accumulator on the on-board DSP chip, likely thermally induced during the soldering process. All subsequent values are within reason, even after rebooting the sensor.
The PM sensor’s data is inherently noisy as it uses an optical method coupled with a high gain amplifier. To mitigate this, the Arduino takes 15 PM samples and reports the average to the Android phone.
Change the air flow from a straight path to a curved one. This would block direct light while allowing some air through
The Android app was merged (Bluetooth and front end)